﻿#include "AVLTree.h"

//int main()
//{
//	AVLTree<int, int> a1;
//	a1.Insert({ 1,1 });
//	a1.Insert({ 2,2 });
//	a1.Insert({ 5,1 });
//	a1.Insert({ 3,1 });
//	a1.Insert({ 9,1 });
//	a1.Insert({ 7,1 });
//
//	a1.Inorder();
//
//
//	return 0;
//}


#include<iostream>
using namespace std;


//typedef int STDataType;
//class Stack
//{
//public:
//	Stack(int n = 4)
//	{
//		_a = (STDataType*)malloc(sizeof(STDataType) * n);
//		if (nullptr == _a)
//		{
//			perror("malloc申请空间失败");
//			return;
//		}
//		_capacity = n;
//		_top = 0;
//	}
//	//...
//private:
//	STDataType* _a;
//	size_t _capacity;
//	size_t _top;
//};
//
//class MyQueue
//{
//public:
//	//编译器默认⽣成MyQueue的构造函数,会调⽤了Stack的构造，完成了两个成员的初始化
//	//...
//private:
//	Stack s1;
//	Stack s2;
//};

//class func
//{
//public:
//	func(int n = 2)
//	{
//		_a = (int*)malloc(sizeof(int) * n);
//		if (nullptr == _a)
//		{
//			perror("malloc申请空间失败");
//			return;
//		}
//	}
//	
//	~func()
//	{
//		cout << "~func" << endl;
//		//释放动态开辟的内存
//		free(_a);
//		_a = nullptr;
//	}
//private:
//	int* _a;
//};
//
//class Myfunc
//{
//public:
//	~Myfunc()
//	{}
//
//private:
//	func f1;
//	func f2;
//};
//
//int main()
//{
//	Myfunc m1;
//	return 0;
//}


class Date
{
public:
	Date(int year = 2025, int month = 3, int day = 15)
	{
		_year = year;
		_month = month;
		_day = day;
	}

	Date(const Date& d)
	{
		_year = d._year;
		_month = d._month;
		_day = d._day;
	}
	void Print()
	{
		cout << _year << " " << _month << " " << _day << endl;
	}

private:
	int _year;
	int _month;
	int _day;
};

int main()
{
	Date d1(2001,1,1);
	Date d2(d1); //拷贝构造1
	Date d3 = d1; //拷贝构造2
	d2.Print();
	d3.Print();
	return 0;
}
